package com.itany.springcloud.springcloudnacosopenfeignconsumer.controller;

import com.itany.springcloud.springcloudcommon.entity.User;
import com.itany.springcloud.springcloudcommon.vo.ResponseResult;
import com.itany.springcloud.springcloudnacosopenfeignconsumer.service.UserService;
import com.itany.springcloud.springcloudnacosopenfeignconsumer.service.UserService2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @Autowired
    private UserService2 userService2;


//    @GetMapping
//    public ResponseResult findAll(){
//        System.out.println("consumer.UserController.findAll()");
//        userService2.findAll();
//        return userService.findAll();
//    }
//
//    @GetMapping("/{id}")
//    public ResponseResult findById(@PathVariable Integer id){
//        System.out.println("consumer.UserController.findById()");
//        return userService.findById(id);
//    }
//
//    @PostMapping
//    public ResponseResult add(User user){
//        System.out.println("consumer.UserController.add()");
//        return userService.add(user.getUsername(),user.getPassword());
//    }
//
//    @PostMapping("/add2")
//    public ResponseResult add2(User user){
//        System.out.println("consumer.UserController.add2()");
//        return userService.add2(user);
//    }
//
//    @PostMapping("/add3")
//    public ResponseResult add3(User user){
//        System.out.println("consumer.UserController.add3()");
//        return userService.add3(user);
//    }
//
//    @PutMapping
//    public ResponseResult modify(User user){
//        System.out.println("consumer.UserController.modify()");
//        return userService.modify(user.getId(),
//                                  user.getUsername(),
//                                  user.getPassword());
//    }
//
//    @DeleteMapping("/{id}")
//    public ResponseResult remove(@PathVariable("id") Integer id){
//        System.out.println("consumer.UserController.remove()");
//        return userService.remove(id);
//    }


    @RequestMapping
    public ResponseResult findAll(){
        System.out.println("consumer.UserController.findAll()");
        userService2.findAll();
        return userService.findAll();
    }

    @RequestMapping("/{id}")
    public ResponseResult findById(@PathVariable Integer id){
        System.out.println("consumer.UserController.findById()");
        return userService.findById(id);
    }

    @RequestMapping("/add")
    public ResponseResult add(User user){
        System.out.println("consumer.UserController.add()");
        return userService.add(user.getUsername(),user.getPassword());
    }

    @RequestMapping("/add2")
    public ResponseResult add2(User user){
        System.out.println("consumer.UserController.add2()");
        return userService.add2(user);
    }

    @RequestMapping("/add3")
    public ResponseResult add3(User user){
        System.out.println("consumer.UserController.add3()");
        return userService.add3(user);
    }

    @RequestMapping("/modify")
    public ResponseResult modify(User user,@CookieValue("token") String token){
        System.out.println("consumer.UserController.modify()");
        System.out.println(token);
        return userService.modify(user.getId(),
                user.getUsername(),
                user.getPassword());
    }

    @RequestMapping("/remove/{id}")
    public ResponseResult remove(@PathVariable("id") Integer id){
        System.out.println("consumer.UserController.remove()");
        return userService.remove(id);
    }

}
